﻿//C#多态的例子
using System;
using System.Collections.Generic;
using System.Text;

namespace YouDaoNotesCodes //C#多态的示例
{
    //class Program
    //{
        //static void Main(string[] args)
        //{
        //    Console.WriteLine("老总讲话：大家请肃静，现在刚好08：00整，我们开始开会,请各个部门领导发言：");
        //    //定义存放Company类型的实力
        //    Company[] CArray = new Company[3];
        //    CArray[0] = new Manager();
        //    CArray[0].Say("张经理：");
        //    CArray[0].Foo();
        //    CArray[1] = new Coder();
        //    CArray[1].Say("李程序员：");
        //    CArray[1].Foo();
        //    CArray[2] = new Accountant();
        //    CArray[2].Say("钱会计：");
        //    CArray[2].Foo();
        //    Console.ReadKey();
        //}
    //}
    // 定义个公司类
    class Company
    {
        string Name = "";
        public virtual void Say(string name)
        {
            this.Name = name;
        }
        public virtual void Foo()
        {
            Console.WriteLine(Name + " 公司条例规定，不同岗位的工作人员，干好本职工作！");
        }
    }
    //定义个经理类
    class Manager : Company
    {
        string Name = "";
        public override void Say(string name)
        {
            //base.Say(name);
            this.Name = name;
        }
        public override void Foo()
        {
            Console.WriteLine(Name + " 开早会，给大家分配工作");
        }
    }
    //定义程序员类
    class Coder : Company
    {
        string Name = "";
        public override void Say(string name)
        {
            //base.Say(name);
            this.Name = name;
        }
        public override void Foo()
        {
            Console.WriteLine(Name + " 根据经理早会的内容，我开始编写代码了");
        }
    }
    //定义财会类
    class Accountant : Company
    {
        string Name = "";
        public override void Say(string name)
        {
            //base.Say(name);
            this.Name = name;
        }
        public override void Foo()
        {
            Console.WriteLine(Name + " 今天早会提到员工工资的事情了。而今天刚好是开工资的日子，我必须抓紧发工资，让员工好好干活！");
        }
    }

}